95fcee17e06527f2b9bce63e45d6bb03873902ec,cassandra-scheduler/src/test/java/com/mesosphere/dcos/cassandra/scheduler/plan/CassandraDaemonBlockTest.java,CassandraDaemonBlockTest,testStartTerminated,#,184

Before Change



    @Test
    public void testStartTerminated() throws Exception {
        final CassandraContainer cassandraContainer = Mockito.mock(CassandraContainer.class);
        final String EXPECTED_NAME = "node-0";
        when(cassandraTasks.getOrCreateContainer(EXPECTED_NAME)).thenReturn(cassandraContainer);
        when(cassandraTasks.needsConfigUpdate(Mockito.any())).thenReturn(false);
        CassandraDaemonBlock block = CassandraDaemonBlock.create(
                EXPECTED_NAME, persistentOfferRequirementProvider, cassandraTasks, client);

        when(cassandraContainer.getAgentId()).thenReturn("1234");
        when(cassandraContainer.isTerminated()).thenReturn(true);

        final CassandraDaemonTask mockDaemonTask = Mockito.mock(CassandraDaemonTask.class);
        when(cassandraContainer.getDaemonTask()).thenReturn(mockDaemonTask);
        when(cassandraTasks.replaceDaemon(mockDaemonTask)).thenReturn(mockDaemonTask);
        final Protos.TaskInfo mockTaskInfo = Protos.TaskInfo.getDefaultInstance();
        when(mockDaemonTask.getTaskInfo()).thenReturn(mockTaskInfo);
        final OfferRequirement mockOR = Mockito.mock(OfferRequirement.class);
        when(persistentOfferRequirementProvider.getReplacementOfferRequirement(any())).thenReturn(mockOR);

After Change



    @Test
    public void testStartTerminated() throws Exception {
        final String EXPECTED_NAME = "node-0";
        CassandraDaemonBlock block = CassandraDaemonBlock.create(EXPECTED_NAME,
                persistentOfferRequirementProvider, cassandraTasks, client);
        final OfferRequirement mockOfferReq = Mockito.mock(OfferRequirement.class);
        when(persistentOfferRequirementProvider.getNewOfferRequirement(Mockito.any())).thenReturn(mockOfferReq);

        OfferRequirement offerRequirement = block.start();
        Assert.assertNotNull(offerRequirement);

        final CassandraDaemonTask task = CassandraDaemonTask.create(EXPECTED_NAME,
                "abc",
                CassandraTaskExecutor.create("1234", EXPECTED_NAME, "cassandra-role", "cassandra-principal",
                        config.getExecutorConfig()),
                config.getCassandraConfig());
        Protos.TaskInfo taskInfo = task.getTaskInfo();
        taskInfo = Protos.TaskInfo.newBuilder(taskInfo)
                .setSlaveId(Protos.SlaveID.newBuilder().setValue("1.2.3.4").build()).build();
        stateStore.storeTasks(Arrays.asList(taskInfo));

        final Protos.TaskStatus status = TestUtils.generateStatus(taskInfo.getTaskId(),
                Protos.TaskState.TASK_FAILED);
        stateStore.storeStatus(status);
        when(persistentOfferRequirementProvider.getReplacementOfferRequirement(any())).thenReturn(mockOfferReq);
        offerRequirement = block.start();
        Assert.assertEquals(mockOfferReq, offerRequirement);